var examPlan = {
		init: function(){
			examPlan.examPlanGrid = $('#examPlanGrid');
			examPlan.examPlanType = $('#examPlanType');
			examPlan.examPlanState = $('#examPlanState');
			examPlan.examPlanExpire = $('#examPlanExpire');
			examPlan.examPlanAddDialog = $('#examPlanAddDialog');
			examPlan.examPlanUpdateDialog = $('#examPlanUpdateDialog');
			examPlan.examPaperNameAdd = $('#examPaperNameAdd');
			examPlan.examPlanToUserAdd = $('#examPlanToUserAdd');
			examPlan.examPlanToClassAdd = $('#examPlanToClassAdd');
			examPlan.examPaperNameUpdate = $('#examPaperNameUpdate');
			examPlan.examPlanToUserUpdate = $('#examPlanToUserUpdate');
			examPlan.examPlanToClassUpdate = $('#examPlanToClassUpdate');
			examPlan.examPlanAddForm = $('#examPlanAddForm');
			examPlan.examPlanUpdateForm = $('#examPlanUpdateForm');
			
			examPlan.examPlanGrid.datagrid({
				url: window.ctx + '/exam/ExamPlanServlet?command=listExamPlan',
			    fitColumns: true,
			    checkOnSelect: true,
			    striped: true,
			    rownumbers: true,
			    pagination: true,
			    pageSize: 10,
			    pageList: [10, 20, 30, 40, 50],
			    pageNumber: 1,
			    sortName: 'operate_time',
			    sortOrder: 'desc',
			    toolbar: '#examPlanToolbar',
			    columns:[[
					{field:'id', width:100, checkbox: true},
					{field:'examTimeStart', title:'开始时间', width:100, align:'center'},
					{field:'examTimeStop', title:'结束时间', width:100, align:'center'},
					{field:'examClassroom', title:'考试地点', width:50, align:'center'},
					{field:'exam__paper__name', title:'试卷名称', width:100, align:'center'},
					{field:'state', title:'状态', width:60, align:'center'},
			    ]],
				onDblClickRow: function(rowIndex, rowData) {
					examPlan.examPlanToolbar.showUpdateDialog(rowData.id);
				}
			});
		},
		examPlanToolbar:{
			examPlanSearch: function(){
				examPlan.examPlanGrid.datagrid('load', {    
				    type: examPlan.examPlanType.combobox('getValue'),    
				    state: examPlan.examPlanState.combobox('getValue'),
				    expire: examPlan.examPlanExpire.combobox('getValue')
				}); 
				 if(examPlan.examPlanType.combobox('getValue') == 1){
					 $('#updateButton').linkbutton('enable');
				     $('#deleteButton').linkbutton('enable');
				     $('#openButton').linkbutton('enable');
				 }else{
				    $('#updateButton').linkbutton('disable');
			    	$('#deleteButton').linkbutton('disable');
			    	$('#openButton').linkbutton('disable');
				 }
			},
			showAddDialog: function(){
				examPlan.examPaperNameAdd.combobox({
					url: window.ctx + '/exam/ExamPlanServlet?command=listPaper',
					valueField:'id',    
					textField:'name',
					mode:'local',
					required:true
				});
				examPlan.examPlanToUserAdd.combobox({
					url: window.ctx + '/exam/ExamPlanServlet?command=listUser',
					valueField:'id',    
					textField:'name',
					mode:'local',
					multiple:true
				});
				examPlan.examPlanToClassAdd.combobox({
					url: window.ctx + '/exam/ExamPlanServlet?command=listClass',
					valueField:'id',    
					textField:'name',
					mode:'local'
				});
				examPlan.examPlanAddDialog.dialog('open');
			},
			hiddenAddDialog:function(){
				examPlan.examPlanAddDialog.dialog('close');
				examPlan.examPlanToolbar.resetAddForm();
			},
			resetAddForm: function(){
				examPlan.examPlanAddForm.form('reset');
			},
			add: function(){
				if (examPlan.examPlanAddForm.form('validate')) {
					$.messager.progress({
						text : '正在处理...'
					});
					$.post(window.ctx + '/exam/ExamPlanServlet?command=add', examPlan.examPlanAddForm.serialize(), function(data) {
						if (data) {
							$.messager.show({
								title: '系统提示',
								msg: '新增成功！',
								timeout: 3000,
								showType: 'slide'
							});
							examPlan.examPlanAddForm.form('reset');
							examPlan.examPlanGrid.datagrid('reload');
						} else {
							$.messager.alert('系统提示', '新增失败！', 'error')
						}
						$.messager.progress('close');
						examPlan.examPlanToolbar.hiddenAddDialog();
					});
				}
			},
			
			showUpdateDialog: function(id){
				var getData = function(v) {
					$.post(window.ctx + '/exam/ExamPlanServlet?command=getExamPlan', {id : v}, function(data) {
						if (data) {
							examPlan.examPaperNameUpdate.combobox({
								url: window.ctx + '/exam/ExamPlanServlet?command=listPaper',
								valueField:'id',    
								textField:'name',
								mode:'local',
								required:true
							});
							examPlan.examPlanToUserUpdate.combobox({
								url: window.ctx + '/exam/ExamPlanServlet?command=listUser',
								valueField:'id',    
								textField:'name',
								mode:'local',
								multiple:true,
							});
							examPlan.examPlanToClassUpdate.combobox({
								url: window.ctx + '/exam/ExamPlanServlet?command=listClass',
								valueField:'id',    
								textField:'name',
								mode:'local'
							});
							examPlan.examPlanUpdateForm.form('load', {
								id: data.id,
								examTimeStart: data.examTimeStart,
								examTimeStop: data.examTimeStop,
								examClassroom: data.examClassroom,
								examPaperName: data.exam__paper__name,
								examPlanToUser: data.toUserIds,
								examPlanToClass: data.toClassId,
								examPlanState: data.state,
								memo: data.memo
								
							});
							if(data.userId==data.operateUserId){
								$('#examPlanUpdateButton').linkbutton('enable');
							}
							examPlan.examPlanUpdateDialog.dialog('open');
						} else {
							$.messager.alert('系统提示', '获取信息失败！', 'error')
						}
						//$.messager.progress('close');
					}, 'json');
				}
				if (id) {
					getData(id);
				} else {
					var row = examPlan.examPlanGrid.datagrid('getSelections');
					if (row.length == 1) {
						getData(row[0].id);
					} else {
						$.messager.show({
							title: '系统提示',
							msg: '请选择一行数据进行修改！',
							timeout: 3000,
							showType: 'slide'
						});	
					}
				}
				
			},
			update: function() {
				if (examPlan.examPlanUpdateForm.form('validate')) {
					$.messager.progress({
						text : '正在处理...'
					});
					$.post(window.ctx + '/exam/ExamPlanServlet?command=update', examPlan.examPlanUpdateForm.serialize(), function(data) {
						if (data == 1) {
							$.messager.show({
								title: '系统提示',
								msg: '修改成功！',
								timeout: 3000,
								showType: 'slide'
							});
							examPlan.examPlanToolbar.resetUpdateForm();
							examPlan.examPlanGrid.datagrid('reload');
						} else {
							$.messager.alert('系统提示', '修改失败！', 'error');
						}
						$.messager.progress('close');
						examPlan.examPlanToolbar.hiddenUpdateDialog();
					});
				}
			},
			hiddenUpdateDialog: function(){
				$('#examPlanUpdateButton').linkbutton('disable');
				examPlan.examPlanUpdateDialog.dialog('close');
				examPlan.examPlanToolbar.resetUpdateForm();
			},
			resetUpdateForm: function(){
				examPlan.examPlanUpdateForm.form('reset');
			},
			remove: function(id) {
				var doRemove = function(ids){
					$.messager.confirm('提示', '确定要删除吗?', function(r){
						if (r){
							$.post(window.ctx + '/exam/ExamPlanServlet?command=delete', {ids: ids.join(',')}, function(data) {
								if (data) {
									$.messager.show({
										title: '系统提示',
										msg: '删除了'+data+'条数据！',
										timeout: 3000,
										showType: 'slide'
									});
									examPlan.examPlanGrid.datagrid('reload');
								} else {
									$.messager.alert('系统提示', '删除失败！', 'error')
								}
								$.messager.progress('close');
							});
						}
					});
				}
				var row = examPlan.examPlanGrid.datagrid('getSelections');
				if (id && row.length<1) {
					var v = [];
					v.push(id);
					doRemove(v);
				} else {
					if (row.length > 0) {
						var ids = [];
						$.each(row, function(i, v) {
							ids.push(v.id);
						});
						doRemove(ids);
					} else {
						$.messager.show({
							title: '系统提示',
							msg: '请选择数据进行删除！',
							timeout: 3000,
							showType: 'slide'
						});	
					}
		 		}
			},
			redo: function() {
				examPlan.examPlanGrid.datagrid('unselectAll');
			},
			open: function(id) {
				var doOpen = function(ids){
					$.messager.confirm('提示', '确定要启用吗?', function(r){
						if (r){
							$.post(window.ctx + '/exam/ExamPlanServlet?command=open', {ids: ids.join(',')}, function(data) {
								if (data) {
									$.messager.show({
										title: '系统提示',
										msg: '操作了'+data+'条数据！',
										timeout: 3000,
										showType: 'slide'
									});
									examPlan.examPlanGrid.datagrid('reload');
								} else {
									$.messager.alert('系统提示', '启用失败！', 'error')
								}
								$.messager.progress('close');
							});
						}
					});
				}
				var row = examPlan.examPlanGrid.datagrid('getSelections');
				if (id && row.length<1) {
					var v = [];
					v.push(id);
					doOpen(v);
				} else {
					if (row.length > 0) {
						var ids = [];
						$.each(row, function(i, v) {
							ids.push(v.id);
						});
						doOpen(ids);
					} else {
						$.messager.show({
							title: '系统提示',
							msg: '请选择数据进行启用！',
							timeout: 3000,
							showType: 'slide'
						});	
					}
		 		}
			},
			paper: function(){
				$.post(window.ctx + '/exam/PaperServlet?command=autoCreatePaper', function(data) {
					if (data) {
						$.messager.show({
							title: '系统提示',
							msg: '试卷生成成功！',
							timeout: 3000,
							showType: 'slide'
						});
						examPlan.examPlanGrid.datagrid('reload');
					} else {
						$.messager.alert('系统提示', '生成失败！', 'error')
					}
					$.messager.progress('close');
				});
			}
		}
};

$(function(){
	examPlan.init();
});